package spring.cloud.eurekaclientfund.fallback.factory;

//import feign.hystrix.FallbackFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import spring.cloud.eurekaclientfund.service.UserFacade;
import com.spring.cloud.commonutils.vo.ResultMessage;
import com.spring.cloud.commonutils.vo.UserInfo;

import java.util.List;

/**
 * 降级工厂
 */
//@Component
//public class UserFallbackFactory implements FallbackFactory<UserFacade> {
//
//    @Override
//    public UserFacade create(Throwable err) {
//
//        //这里返回一个类似降级类的 接口实现 内部实现降级方法
//        return new UserFacade() {
//            @Override
//            public UserInfo getUser(Long id) {
//                return new UserInfo(null,null,err.getMessage());
//            }
//
//            @Override
//            public UserInfo putUser(UserInfo userInfo) {
//                return new UserInfo(null,null,err.getMessage());
//            }
//
//            @Override
//            public ResponseEntity<List<UserInfo>> findUser2(@RequestParam("ids") Long[] ids) {
//                return null;
//            }
//
//            @Override
//            public ResultMessage deleteUser(Long id) {
//                return new ResultMessage(false,err.getMessage());
//            }
//
//            @Override
//            public ResultMessage uploadFile(MultipartFile file) {
//                return new ResultMessage(false,err.getMessage());
//            }
//        };
//    }
//}
